home *** CD-ROM | disk | FTP | other *** search
/ Sports Illustrated for Kids - Awesome Athletes! / Sports Illustrated for Kids - Awesome Athletes!.iso / shared.dir / 07006_Global State.ls < prev    next >
Encoding:
Text File  |  1996-04-18  |  1.3 KB  |  63 lines

  1. on GSInit
  2.   global gGSState
  3.   set gGSState to [:]
  4. end
  5.  
  6. on GSLoad aFName
  7.   global gGSState, gSIHDPath
  8.   set vFile to FileIO(mnew, "read", gSIHDPath & aFName)
  9.   if not objectp(vFile) then
  10.     return 
  11.   end if
  12.   set vTmp to vFile(mReadLine)
  13.   if objectp(vFile) then
  14.     set vTmp to stripCRLF(vTmp)
  15.     set gGSState to value(vTmp)
  16.     if not listp(gGSState) then
  17.       GSInit()
  18.     end if
  19.     vFile(mdispose)
  20.   end if
  21. end
  22.  
  23. on GSSave aFName
  24.   global gSIHDPath, gGSState
  25.   set vFile to FileIO(mnew, "write", gSIHDPath & aFName)
  26.   if not objectp(vFile) then
  27.     return 
  28.   end if
  29.   set vTmp to string(gGSState) & RETURN
  30.   set vTmp to vFile(mWriteString, vTmp)
  31.   if not objectp(vFile) then
  32.     return 
  33.   end if
  34.   set vTmp to "[END]" & RETURN
  35.   set vTmp to vFile(mWriteString, vTmp)
  36.   if not objectp(vFile) then
  37.     return 
  38.   end if
  39.   if objectp(vFile) then
  40.     vFile(mdispose)
  41.   end if
  42. end
  43.  
  44. on GSStatePut aModule, aKey, aValue
  45.   global gGSState
  46.   set vCurrState to getaProp(gGSState, aModule)
  47.   if not listp(vCurrState) then
  48.     set vCurrState to [:]
  49.   end if
  50.   setaProp(vCurrState, aKey, aValue)
  51.   setaProp(gGSState, aModule, vCurrState)
  52. end
  53.  
  54. on GSStateGet aModule, aKey
  55.   global gGSState
  56.   set vCurrState to getaProp(gGSState, aModule)
  57.   if listp(vCurrState) then
  58.     return getaProp(vCurrState, aKey)
  59.   else
  60.     return EMPTY
  61.   end if
  62. end
  63.